#ifndef CONFIG_H
#define CONFIG_H

#include "clog.h"

#ifdef __cplusplus
extern "C" {
#endif

// 配置结构 - 所有模块共用
typedef struct {
    char log_path[256];
    long max_file_size;
    char socket_path[256];
    clog_level_t min_log_level;    // 最小日志级别
    int buffer_size;               // 日志缓存大小
    int flush_interval;            // 刷新间隔（秒）
    int console_output;            // 控制台输出开关
} log_config_t;

// 日志消息结构 - 所有模块共用
typedef struct {
    clog_level_t level;
    char process_name[64];
    char timestamp[32];
    char message[512];
} log_message_t;

// 公共函数声明
int load_log_config(const char* config_file, log_config_t* config);
const char* get_level_string(clog_level_t level);
void get_current_timestamp(char* buffer, size_t size);
clog_level_t parse_log_level(const char* level_str);
int create_directory_recursive(const char* path);

#ifdef __cplusplus
}
#endif

#endif // CONFIG_H
